﻿#pragma warning(disable: 4996)
#pragma warning(disable: 6031)

/*
*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>

typedef struct TContext_s
{
	int n;
	int v[20];
	int x;
}TContext;

TContext context;

void read_data(TContext* ctx)
{
	scanf("%d", &ctx->n);
	for (int i = 0; i < ctx->n; ++i)
		scanf("%d", &ctx->v[i]);
	scanf("%d", &ctx->x);
}


void do_task(TContext* ctx)
{
	int i;
	for (i = 0; i < ctx->n; ++i)
		if (ctx->x < ctx->v[i])
		{
			for (int j = ctx->n - 1; j >= i; --j)
				ctx->v[j + 1] = ctx->v[j];
			ctx->v[i] = ctx->x;
			ctx->n++;
			break;
		}
	if (i == ctx->n)
	{
		ctx->v[i] = ctx->x;
		ctx->n++;
	}

	for (int i = 0; i < ctx->n; ++i)
		printf("%d ", ctx->v[i]);
}

void solve(TContext* ctx)
{
	read_data(ctx);
	do_task(ctx);
}

int main()
{
	freopen("D:/Develop/GitRepos/MOOC/浙江大学/数据结构/201906/DataStructure/M2019秋C入门和进阶练习集/7-101.txt", "r", stdin);
	solve(&context);
	return 0;
}
